package org.jing.r18.game.comm.bmp;

import org.jing.core.lang.annotation.SerializableField;
import org.jing.core.lang.annotation.SerializableType;
import org.jing.core.lang.data.BaseSerializableDto;

/**
 * Description: <br>
 *
 * @author: bksmate <br>
 * @createDate: 2025-05-13 <br>
 */
@SerializableType
public class BMPInfoHeader extends BaseSerializableDto {
    // 4字节，信息头大小
    @SerializableField
    private int headerSize;

    // 4字节，图像宽度（像素）
    @SerializableField
    private int width;

    // 4字节，图像高度（像素）
    @SerializableField
    private int height;

    // 2字节，颜色平面数
    @SerializableField
    private short planes;

    // 2字节，每像素位数
    @SerializableField
    private short bitCount;

    // 4字节，压缩方式
    @SerializableField
    private int compression;

    // 4字节，图像数据大小
    @SerializableField
    private int imageSize;

    // 4字节，水平分辨率
    @SerializableField
    private int xPixelsPerM;

    // 4字节，垂直分辨率
    @SerializableField
    private int yPixelsPerM;

    // 4字节，使用的颜色数
    @SerializableField
    private int colorsUsed;

    // 4字节，重要颜色数
    @SerializableField
    private int colorsImportant;

    public int getHeaderSize() {
        return headerSize;
    }

    public void setHeaderSize(int headerSize) {
        this.headerSize = headerSize;
    }

    public int getWidth() {
        return width;
    }

    public void setWidth(int width) {
        this.width = width;
    }

    public int getHeight() {
        return height;
    }

    public void setHeight(int height) {
        this.height = height;
    }

    public short getPlanes() {
        return planes;
    }

    public void setPlanes(short planes) {
        this.planes = planes;
    }

    public short getBitCount() {
        return bitCount;
    }

    public void setBitCount(short bitCount) {
        this.bitCount = bitCount;
    }

    public int getCompression() {
        return compression;
    }

    public void setCompression(int compression) {
        this.compression = compression;
    }

    public int getImageSize() {
        return imageSize;
    }

    public void setImageSize(int imageSize) {
        this.imageSize = imageSize;
    }

    public int getXPixelsPerM() {
        return xPixelsPerM;
    }

    public void setXPixelsPerM(int xPixelsPerM) {
        this.xPixelsPerM = xPixelsPerM;
    }

    public int getYPixelsPerM() {
        return yPixelsPerM;
    }

    public void setYPixelsPerM(int yPixelsPerM) {
        this.yPixelsPerM = yPixelsPerM;
    }

    public int getColorsUsed() {
        return colorsUsed;
    }

    public void setColorsUsed(int colorsUsed) {
        this.colorsUsed = colorsUsed;
    }

    public int getColorsImportant() {
        return colorsImportant;
    }

    public void setColorsImportant(int colorsImportant) {
        this.colorsImportant = colorsImportant;
    }
}
